package com.luyun.frogpay.pojo.request;

import lombok.Data;

@Data
public class RequestFaceCode {
    /**
     * 商户号绑定的公众号/小程序 appid
     */
    private String appid;
    /**
     * 商户号
     */
    private String mch_id;
    /**
     * 子商户绑定的公众号/小程序 appid(可不填)
     */
    private String sub_appid;
    /**
     * 子商户号(非服务商模式不填)
     */
    private String sub_mch_id;
    /**
     * 门店编号
     */
    private String store_id;
    /**
     * 用户手机号。用于传递会员手机，此手机将作为默认值， 填写到手机输入栏。
     */
    private String telephone;
    /**
     * 通过getWxpayfaceUserInfo获取的openid，传入后可使用快捷支付模式。如果也传入了telephone,将判断手机号。
     */
    private String openid;
    /**
     * 商户订单号，须与调用支付接口时字段一致，该字段在在face_code_type为"1"时可不填，为"0"时必填
     */
    private String out_trade_no;
    /**
     * 订单金额(数字), 单位分. 该字段在在face_code_type为"1"时可不填，为"0"时必填
     */
    private String total_fee;
    /**
     * 可选值：
     * FACEPAY: 人脸凭证，常用于人脸支付
     * FACEPAY_DELAY: 延迟支付(提供商户号信息联系微信支付开通权限)
     * FACE_AUTH: 实名认证(需联系微信支付开通权限)
     */
    private String face_authtype;

    private String authinfo;
    /**
     * 支付成功页是否需要展示人脸识别授权项。
     * 展示：1
     * 不展示：0
     * 人脸识别授权项：
     * 用户授权后用于 1:N 识别，可返回用户信息openid，建议商户有自己会员系统时，填1。
     */
    private String ask_face_permit;
    /**
     * 是否展示微信支付成功页，可选值："0"，不展示；"1"，展示
     */
    private String ask_ret_page;
    /**
     * 目标face_code类型，可选值：
     * "0"，人脸付款码：数字字母混合，通过「刷脸支付」接口完成支付；
     * "1"，刷卡付款码：18位数字，通过「付款码支付/被扫支付」接口完成支付。如果不填写则默认为"0"
     */
    private String face_code_type;
    /**
     * 商户端是否对SDK返回支付结果，可选值：
     * "0"，返回支付结果，商户需在确认⽀付结果后调⽤[updateWxpayfacePayResult]通知SDK；
     * "1"，不返回支付结果。如果不填写则默认为"0"。
     */
    private String ignore_update_pay_result;


    public RequestFaceCode(String appid, String mch_id, String store_id, String out_trade_no, String total_fee, String face_authtype, String authinfo, String ask_face_permit) {
        this.appid = appid;
        this.mch_id = mch_id;
        this.store_id = store_id;
        this.out_trade_no = out_trade_no;
        this.total_fee = total_fee;
        this.face_authtype = face_authtype;
        this.authinfo = authinfo;
        this.ask_face_permit = ask_face_permit;
    }
}
